package cn.org.xwb.bookmall.model.vo;

import cn.org.xwb.common.encrypt.annotation.rsa.RsaDe;
import cn.org.xwb.common.valid.annotation.nu.NotNull;
import cn.org.xwb.common.valid.annotation.str.StrNotNull;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@AllArgsConstructor
@NoArgsConstructor
@Data
public class OrderVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    //@NotNull
    private Long carId;

    /**
     * 用户id
     */
    @NotNull
    private Long userId;

    /**
     * 商品id
     */
    @NotNull
    private Long productId;

    /**
     * 商品选项id
     */
    @NotNull
    private Long productOptionId;

    /**
     * 商品选项名称
     */
    @StrNotNull @RsaDe
    private String productOptionName;

    /**
     * 商品选项价格
     */
    @NotNull
    private BigDecimal productOptionPrice;

    /**
     * 商品选项图片地址
     */
    @StrNotNull @RsaDe
    private String productOptionImg;

    /**
     * 购买数量
     */
    @NotNull
    private Integer num;

    /**
     * 订单状态
     */
    @NotNull
    private Integer status;

    /**
     * 收货人姓名
     */
    @StrNotNull @RsaDe
    private String name;

    /**
     * 收货人手机号
     */
    @StrNotNull @RsaDe
    private String phone;

    /**
     * 收货人省
     */
    @StrNotNull @RsaDe
    private String province;

    /**
     * 收货人市
     */
    @StrNotNull @RsaDe
    private String city;

    /**
     * 收货人区
     */
    @StrNotNull @RsaDe
    private String county;

    /**
     * 收货人详细地址
     */
    @StrNotNull @RsaDe
    private String address;

    /**
     * 物流编号
     */
    private String logistics;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 商品标题
     */
    private String title;

    /**
     * 发货地
     */
    private String delivery;

    private Double freight;

    /**
     * 详细地址
     */
    private String addressFrom;

}
